package org.springblade.modules.policy.excel;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.ArrayList;
import java.util.List;

public final class MatMatterListener<MatMatterImportExcel> extends AnalysisEventListener<MatMatterImportExcel> {
	private List<MatMatterImportExcel> datas=new ArrayList<>();
	/**
	 * 每解析一行都会回调invoke()方法
	 *
	 * @param matMatterImportExcel  读取后的数据对象
	 * @param context 内容
	 */
	@Override
	@SuppressWarnings("unchecked")
	public void invoke(MatMatterImportExcel matMatterImportExcel, AnalysisContext context) {
		MatMatterImportExcel map = matMatterImportExcel;
		//数据存储到list，供批量处理，或后续自己业务逻辑处理。
		datas.add(map);
	}

	@Override
	public void doAfterAllAnalysed(AnalysisContext context) {
		//解析结束销毁不用的资源
		//注意不要调用datas.clear(),否则getDatas为null
	}

	/**
	 * 返回数据
	 *
	 * @return 返回读取的数据集合
	 **/
	public List<MatMatterImportExcel> getDatas() {
		return datas;
	}

	/**
	 * 设置读取的数据集合
	 *
	 * @param datas 设置读取的数据集合
	 **/
	public void setDatas(List<MatMatterImportExcel> datas) {
		this.datas = datas;
	}
}
